import 'package:permission_handler/permission_handler.dart';
import 'package:Smart/pages/productor008/project/util/gs_permission_util.dart';
import 'package:url_launcher/url_launcher.dart';

///申请拨打电话权限工具类
class GSCallUtil{
  ///对话框---尝试打电话，且获取权限
  tryToCallDialog(context,String phoneNum) async {
    //获取当前的权限
    var status = await Permission.phone.status;
    //权限未获取，申请权限
    if (!status.isGranted) {
      bool permission =
          await GSPermissionUtil.requestPhonePermission(context: context);
      //permission为true,权限申请通过，就拨打电话
      if (permission) {
        lanchPhone(phoneNum);
      } 
    } else {//当前权限是允许的，直接拨打电话
      lanchPhone(phoneNum);
    }
  }

  //插件url_lancher:拨打电话，访问网址，发送邮件，信息
  //电话格式 tel:+1 555 010 999
  //网址格式 http://flutter.dev
  //邮件格式 smith@example.org?subject=News&body=New%20plugin
  //信息格式 sms:5550101234

  lanchPhone(String phoneNum) async {
    String url = 'tel:' + '$phoneNum';//'400-123-456';
    //判断是可否可以启动，不能则抛出异常
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      throw '电话url访问异常!!!';
    }
  }
}
